﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BO;
using System.Web.UI.HtmlControls;

namespace WebMotel
{
    public partial class SiteMaster : System.Web.UI.MasterPage
    {
        Usuario usuarioLogado = new Usuario();

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (Session["USUARIO"] != null)
                {
                    usuarioLogado = (Usuario)Session["USUARIO"];

                    lblUserLogado_Nome.Text = usuarioLogado.login;

                    montaMenu();

                    //string url = Request.Url.AbsoluteUri;

                    //if (url.ToLower().Contains("about.aspx"))
                    //{

                    //}
                    //else
                    //{
                    //    url = url.Split('/')[url.Split('/').Length -1];

                    //    if (PermissaoBO.Verificar(usuarioLogado.tipoUsuarioID, url))
                    //        montaMenu();
                    //    else
                    //        Response.Redirect("~/Login");
                    //}
                }
                else
                {
                    Response.Redirect("~/Login");
                }
                onload();
            }
            catch (Exception ex)
            {
                throw;
            }
        }

        #region Objsetos
        public class MenuItem
        {
            public string link { get; set; }
            public string cssClass { get; set; }
            public string nome { get; set; }
            public string nameID { get; set; }
        }
        #endregion


        #region Funções
        public void onload()
        {
            try
            {
                string pagina = HttpContext.Current.Request.Url.AbsoluteUri;

                string[] partes = pagina.Split('/');


                menu_li_default.Attributes.Add("class", "");
                menu_li_tiposacomodacao.Attributes.Add("class", "");
                menu_li_acomodacao.Attributes.Add("class", "");
                menu_li_produto.Attributes.Add("class", "");
                menu_li_usuario.Attributes.Add("class", "");
                menu_li_caixa.Attributes.Add("class", "");
                menu_li_cozinha.Attributes.Add("class", "");
                menu_li_relatorio_caixa.Attributes.Add("class", "");
                menu_li_relatorios.Attributes.Add("class", "");

                if (partes[partes.Length - 1].ToLower().Contains("default.aspx"))
                {
                    HtmlGenericControl div = (HtmlGenericControl)this.FindControl("menu_li_default");
                    if (div != null)
                        div.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmcaixa.aspx"))
                {
                    menu_li_caixa.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmtiposacomodacao.aspx"))
                {
                    menu_li_tiposacomodacao.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmacomodacoes.aspx.aspx"))
                {
                    menu_li_acomodacao.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmprodutos.aspx"))
                {
                    menu_li_produto.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmusuarios.aspx"))
                {
                    menu_li_usuario.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmcozinha.aspx"))
                {
                    menu_li_cozinha.Attributes.Add("class", "active");
                }
                else if (partes[partes.Length - 1].ToLower().Contains("frmrelatoriocaixa.aspx"))
                {
                    menu_li_relatorio_caixa.Attributes.Add("class", "active");
                    menu_li_relatorios.Attributes.Add("class", "active open");
                }

            }
            catch (Exception)
            {

                throw;
            }
        }
        public void montaMenu()
        {
            try
            {

                var objs = PermissaoBO.Listar(0, int.Parse(usuarioLogado.tipoUsuarioID.ToString()), 0, "", "", "", "");

                foreach (var item in objs)
                {
                    if (item.ler == "S")
                    {

                        if (item.Pagina.nome.Equals("Recepção"))
                            menu_li_default.Visible = true;

                        else if (item.Pagina.nome.Equals("Usuários"))
                            menu_li_usuario.Visible = true;

                        else if (item.Pagina.nome.Equals("Tipo de Acomodação"))
                            menu_li_tiposacomodacao.Visible = true;

                        else if (item.Pagina.nome.Equals("Acomodação"))
                            menu_li_acomodacao.Visible = true;

                        else if (item.Pagina.nome.Equals("Produtos"))
                            menu_li_produto.Visible = true;

                        //else if (item.Pagina.nome.Contains("Permissões"))
                        //    menu_li_default.Visible = true;


                        else if (item.Pagina.nome.Equals("Feriados"))
                            menu_li_feriados.Visible = true;

                        else if (item.Pagina.nome.Equals("Caixa"))
                            menu_li_caixa.Visible = true;

                        else if (item.Pagina.nome.Equals("Cozinha"))
                            menu_li_cozinha.Visible = true;

                        else if (item.Pagina.nome.Equals("Relatório Caixa"))
                            menu_li_relatorios.Visible = true;
                    }
                }
            }
            catch (Exception)
            {

                throw;
            }
        }
        #endregion

        #region Btns
        protected void btnSair_Click(object sender, EventArgs e)
        {
            try
            {
                if (Session["USUARIO"] != null)
                {
                    Session.Remove("UsuarioLogado");
                    Response.Redirect("~/Login/");
                }
            }

            catch (Exception)
            {
                throw;
            }
        }
        #endregion
    }
}
